package com.soilflow.common.utils.easyexcel;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;

/**
 * 0=男,1=女,2=未知
 * @author chengshihua
 */
public class SexConverter implements Converter<String> {

    //在java中默认是用 0 1 来标识的  所以是int
    @Override
    public Class supportJavaTypeKey() {return String.class;}

    // 在excel中是默认非默认 所以是string
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}
 
    //将excel的数据类型转为java数据类型
    @Override
    public String convertToJavaData(ReadCellData readCellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        String stringValue = readCellData.getStringValue();
        if (stringValue == null) {
            return null;
        }
        if ("男".equals(stringValue)) {
            return "0";
        }
        if ("女".equals(stringValue)){
            return "1";
        }

        return "2";
    }
 
    //将java的数据类型转为excel数据类型
    @Override
    public WriteCellData convertToExcelData(String s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        if	(s.equals("0")){
            return new WriteCellData("男");
        }
        if	(s.equals("0")){
            return new WriteCellData("女");
        }
        return new WriteCellData("未知");
    }
}